package com.ys.day29.Reflect.p5Reflect与Method对象;

import java.lang.reflect.Method;
import java.util.ArrayList;

/**
 * 描述: P1获得Class所有的Method签名
 *
 * @author CodeYang
 * @version 2021/1/11 20:22
 */
public class P1获得Class所有的Method签名 {

    public static void main(String[] args) {

        method01();


    }



    /**
     * * 场景：获取ArrayList的所有方法签名
     *  * 步骤：
     *  * 1 反射入口
     *  * 2 调用getDeclaredMethods()方法获取ArrayList的Class对象下面所有的方法签名，该方法返回一个Method数组
     *  * 3 遍历Method对象
     *  * 4 打印Method对象信息
     */
    private static void method01() {

        Class<ArrayList> arrayListClass = ArrayList.class;
        /**
         * 获取所有的方法签名，包括public、private、默认、protected
         */
        Method[] declaredMethods = arrayListClass.getDeclaredMethods();

        for (Method declaredMethod : declaredMethods) {
            System.out.println(declaredMethod);
        }

    }
}
